package com.loan.web.model;



import java.io.Serializable;



public class Result<T> implements Serializable {

    private boolean success;

    private T result;

    /**
     * 原始错误码
     */
    private String primaryErrorCode;

    /**
     * 原始错误描述
     */
    private String primaryErrorMsg;

    /**
     * 原始错误IP
     */
    private String primaryErrorIP;


    /**
     * 默认构造方法
     */
    public Result() {

    }

    /**
     * 直接构造成功的返回
     * @param result
     */
    public Result(T result) {

        this.success = true;
        this.result = result;
    }

    /**
     * 直接构造失败的返回
     * @param primaryErrorCode      原始错误码
     * @param primaryErrorMsg       原始错误描述
     * @param primaryErrorIP        原始错误IP
     */
    public Result(String primaryErrorCode, String primaryErrorMsg, String primaryErrorIP) {

        this.success = false;

        this.primaryErrorCode = primaryErrorCode;
        this.primaryErrorMsg = primaryErrorMsg;
        this.primaryErrorIP = primaryErrorIP;
    }

    /**
     * 判断调用是否成功
     * @return 设置成功
     */
    public boolean isSuccess() {

        return success;
    }

    /**
     * 获取调用结果集
     * @return 结果集
     */
    public T getResult() {

        return result;
    }

    /**
     * 设置调用结果集
     * @param result    结果集
     */
    public void setResult(T result) {

        success = true;
        this.result = result;
    }

    /**
     * 获取原始错误码
     * @return
     */
    public String getPrimaryErrorCode() {

        return primaryErrorCode;
    }

    /**
     * 设置原始错误码
     * @param primaryErrorCode      原始错误码
     */
    public void setPrimaryErrorCode(String primaryErrorCode) {
        this.success = false;
        this.primaryErrorCode = primaryErrorCode;
    }

    /**
     * 获取原始错误码
     * @return
     */
    public String getPrimaryErrorMsg() {

        return primaryErrorMsg;
    }

    /**
     * 设置原始错误码
     * @param primaryErrorMsg      原始错误码
     */
    public void setPrimaryErrorMsg(String primaryErrorMsg) {

        this.primaryErrorMsg = primaryErrorMsg;
    }

    /**
     * 获取原错误码IP
     * @return ip地址
     */
    public String getPrimaryErrorIP() {

        return primaryErrorIP;
    }

    /**
     * 设置原错误码IP
     * @param primaryErrorIP      错误码ip
     */
    public void setPrimaryErrorIP(String primaryErrorIP) {

        this.primaryErrorIP = primaryErrorIP;
    }



}
